package com.azydbly.controller;


import com.azydbly.service.IYxUserService;
import com.baomidou.dynamic.datasource.annotation.DS;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

/**
 * <p>
 *  前端控制器
 *  多主多从，主要演示多主，多从和一主多从是一样的
 *  @DS 可以注解在方法上或类上，同时存在就近原则 方法上注解 优先于 类上注解。
 * </p>
 *
 * @author yixi
 * @since 2022-08-19
 */
@RestController
@RequestMapping("/more/user")
public class MoreUserController {

    @Resource
    private IYxUserService yxUserService;


    /**
     * 获取所有用户(主库)
     *
     * @return
     */
    @GetMapping
    public List getAllUser() {
        return yxUserService.list();
    }

    /**
     * 获取从库数据源
     * 默认是从 slave 数据组中的数据库进行轮训访问，可修改配置文件进行随机访问。 默认为轮训访问
     *
     * @return
     */
    @GetMapping("master")
    @DS("master")
    public List getAllUserForSlave() {
        return yxUserService.list();
    }



}
